import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test {
    public static void func(String str1,String str2){
        List<Character> list =new ArrayList<>();
        for (int i = 0; i < str1.length(); i++) {
            char ch=str1.charAt(i);
            if (!str2.contains(ch+"")){
                list.add(ch);
            }
        }
        for(char ch:list){
            System.out.print(ch);
        }
    }

    public static void main(String[] args) {
        func("welcome to world","come");
    }

    public static void merge(int[] nums1, int m, int[] nums2, int n) {
        int j=0;
        for (int i = m; i <m+n ; i++) {
            nums1[i]=nums2[j];
            j++;
        }
        Arrays.sort(nums1);
    }

    public static void main4(String[] args) {
        int[] nums1={1,2,3,0,0,0};
        int[] nums2={2,5,6};
        merge(nums1,3,nums2,3);
        System.out.println(Arrays.toString(nums1));
    }
    //给你一个 非严格递增排列 的数组 nums ，请你 原地 删除重复出现的元素，使每个元素 只出现一次
    // 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。
    public static int removeDuplicates(int[] nums) {
        int usedSize=nums.length;
        int j=0;
        for (int i = 1; i < usedSize; i++) {
            if(nums[i]!=nums[j]){
                nums[j+1]=nums[i];
                j++;
            }
        }
        return j+1;
    }

    public static void main3(String[] args) {
        int[] nums={0,0,1,1,1,2,2,3,3,4};
        int n=removeDuplicates(nums);
    }

    //会有重复 因此常规方法基础上改动 "双指针"的思想
    /*public static int removeElement(int[] nums, int val) {
        int usedSize=nums.length;
        int j=0;
        for (int i = 0; i < usedSize; i++) {
            if(nums[i]!=val){
                nums[j]=nums[i];
                j++;
            }
        }
        System.out.println(Arrays.toString(nums));
        return j;
    }*/

    public static void main2(String[] args) {
        int[] nums={0,1,2,2,3,0,4,2};
        //int n=removeElement(nums,2);
        //System.out.println(n);
    }
}
